What are the categories of data types in Java